This application claims the benefit of Japanese Patent Application No. 2000-265413, filed on Sep. 1, 2000; the contents of which are expressly incorporated herein by reference in their entirety.
Field of the Invention
The invention relates to an apparatus and method for processing images. More particularly, the invention relates to an apparatus and method for executing image compression or decompression and for executing color transformation on image data in accordance with physical characteristics dependent upon a particular image input/output device. Further, the invention relates to a computer-readable medium containing instructions for performing such a method for executing image compression or decompression and for executing color transformation on image data.
Generally, each of various color image input/output devices, for example, color scanners, color digital cameras, color printers, or color displays has different physical characteristics dependent upon the device itself. Consequently, there is a need for each image input/output device to execute color correction on inputted signal values constituting image data, such as RGB (Red, Green and Blue) values, depending upon its physical characteristics, and then output the signal values after executing the color correction. For example, each image input/output device may add a tinge of red to skin color to make a ruddy complexion, in accordance with the inputted image data characteristic. Each correction is referred to as color transformation.
Because color transformation using a simple linear transformation is insufficient to obtain high quality images, a color transformation table and a multi-dimensional numerical formula are generally used. However, in such cases, transformation requires very long times to perform. Methods of color transformation are roughly divided into three classes: using a numerical formula; using a transformation table (i.e., look up table (LUT)); and using both a numerical formula and LUT.
Color transformation using a numerical formula
The following numerical formula (1) may be used as the simplest example of the numerical formula:                               [                                                                      R                  xe2x80x2                                                                                                      G                  xe2x80x2                                                                                                      B                  xe2x80x2                                                              ]                =                              [                                                                                a                    rr                                                                                        a                    rg                                                                                        a                    rb                                                                                                                    a                                          g                      ⁢                                              xe2x80x83                                            ⁢                      r                                                                                                            a                    gg                                                                                        a                    gb                                                                                                                    a                    br                                                                                        a                    bg                                                                                        a                    bb                                                                        ]                    ⁡                      [                                                            R                                                                              G                                                                              B                                                      ]                                              (        1        )            
That is, corrected gradients (i.e., Rxe2x80x2, Gxe2x80x2, and Bxe2x80x2) are obtained by multiplying gradients (i.e., R, G, and B), which are the three primary colors (Red, Green, and Blue) in each pixel constituting the original image, by transformation coefficients ann. In such a case, the numerical formula (1) requires multiplication nine times. Further, it is necessary to apply this calculation to all pieces of the pixels. Therefore, if there are N pieces of a pixel, it is necessary to execute the multiplication 9N times.
Although it is necessary to execute higher-dimension transformation to meet actual needs for color transformation for all the points of a color space, high-dimension transformation requires a large number of calculations. For example, even when a secondary item is introduced, it is necessary to execute the multiplication 27 times per pixel as shown by the following numerical formula (2).                               [                                                                      R                  xe2x80x2                                                                                                      G                  xe2x80x2                                                                                                      B                  xe2x80x2                                                              ]                =                              [                          (                              3                xc3x97                9                ⁢                                  xe2x80x83                                ⁢                array                            )                        ]                    [                                                    R                                                                    G                                                                    B                                                                                      R                  2                                                                                                      G                  2                                                                                                      B                  2                                                                                    RG                                                                    GB                                                                    BR                                              ]                                    (        2        )            
However, there are many cases where the numerical formula (2) is inadequate. Therefore, it is rare to execute color transformation using only the numerical formula.
Color transformation using a LUT
With this method, a table defining a corresponding color for each color is referenced. As a result, the time required for transformation can be remarkably shortened compared with a transformation using the numerical formula. However, the size of the table becomes very large for transformation over a large color space. For instance, a 24-bit color space requires a table of 224xc3x9724 bits, namely, 48 M Bytes.
Color transformation using both a numerical formula and a LUT
With this method, a table defining a corresponding color for each of the representative colors, predetermined in a color space, is referenced and colors corresponding to each of the other colors are calculated, using a numerical formula, with several of these representative colors within the neighborhood of each color. For example, in a RGB color space where each original color has 256 tones, colors positioned at a cross point defined by dividing the 256 tones into 16 portions may be the representative colors. According to this method, a large table size is not necessary and a color space area to be interpolated using a relatively simple numerical formula can be reduced. Further, the numerical formula is not complicated.
This method is often employed and there are various applied methods regarding how to divide the color space, how to choose the representative colors, and how to interpolate the color space area. This method, however, also requires multiplications and divisions several times for each pixel, and does not eliminate the disadvantage of requiring a large amount of calculations. Therefore, a faster method is desirable.
In recent years, a data compression system, such as JPEG, has been widely utilized to reduce the size of data to be processed. JPEG is a compression system for multiple tone images including color images and has been standardized by the International Standards Organization (ISO) and the International Telecommunication Union (ITU). Data compression generally comprises: frequency transformationxe2x86x92quantizationxe2x86x92encoding. And data decompression generally comprises: decodingxe2x86x92inverse quantizationxe2x86x92inverse frequency transformation. The quantization and the inverse quantization can be omitted.
Color transformation and image compression techniques are used sequentially as follows in applications.
Input: inputted imagexe2x86x92(color transformation)xe2x86x92original imagexe2x86x92(compression)xe2x86x92compressed image
Output: compressed imagexe2x86x92(decompression)xe2x86x92original imagexe2x86x92(color transformation)xe2x86x92outputted image
For example, a color scanner may execute color transformation on an inputted image, compress the executed image according to JPEG, and output the compressed image to a host computer. A color printer may decompress the compressed data, execute color transformation, and print it out.
However, when color transformation and compression/decompression are sequentially executed according to conventional methods, it is required to execute color transformation on image data having a large amount of picture elements, which may be performed before compression or after decompression. For this reason, even if any of the color transformation methods described above are adopted, a long period of time is required for processing.
In accordance with an embodiment of the present invention, there is provided an image processing apparatus. The apparatus comprises a first means for performing frequency transformation on image data to generate first frequency components, means for dividing the first frequency components into low-frequency components and high-frequency components, means for performing an inverse transformation of the frequency transformation on the low-frequency components, means for performing color transformation on the low-frequency components that were transformed by the inverse transformation, second means for performing on the low-frequency components that were transformed by the color transformation, a frequency transformation that is the same as the frequency transformation performed by the first means, and means for combining to generate second frequency components, the high-frequency components and the low-frequency components that were transformed by the transformation by the second performing means.
Further, in accordance with an embodiment of the present invention, there is provided an image processing apparatus. The apparatus comprises means for dividing first frequency components into low-frequency components and high-frequency components, first means for performing an inverse frequency transformation on the low-frequency components, means for performing a color transformation on the low-frequency components that were transformed by the inverse frequency transformation, means for performing on the low-frequency components that were transformed by the color transformation a normal transformation of the inverse frequency transformation, means for combining to generate second frequency components the high-frequency components and the low-frequency components that were transformed by the normal transformation, and second means for performing an inverse transformation that is the same as the inverse transformation performed by the first means.
Further in accordance with an embodiment of the present invention, there is provided an image processing method. The method comprises performing a first frequency transformation, an image data to generate first frequency components, dividing the first frequency components into low-frequency components and high-frequency components, performing an inverse transformation of the frequency transformation on the low-frequency components, performing a color transformation on the low-frequency components that were transformed by the inverse transformation, performing a second frequency transformation that is the same as the first frequency transformation on the low-frequency components that were transformed by the color transformation, and combining to generate second frequency components the high-frequency components and the low-frequency components that were transformed by the second frequency transformation.
Also in accordance with an embodiment of the present invention, there is provided an image processing method. The method comprises dividing first frequency components into low-frequency components and high-frequency components, performing a first inverse frequency transformation on the low-frequency components, performing a color transformation on the low-frequency components that were transformed by the inverse frequency transformation, performing a normal transformation of the inverse frequency transformation on the low-frequency components that were transformed by the color transformation, combining to generate second frequency components the high-frequency components and the low-frequency components that were transformed by the normal transformation, and performing a second inverse frequency transformation that is the same as the first inverse frequency transformation.
Further in accordance with an embodiment of the present invention, there is provided a computer-readable medium containing instructions for controlling a data processing system to perform a method for producing a document having a link to a link destination via a network. The method comprises performing a first frequency transformation on image data to generate first frequency components, dividing the first frequency components into low-frequency components and high-frequency components, performing an inverse transformation of the frequency transformation on the low-frequency components, performing a color transformation on the low-frequency components that were transformed by the inverse transformation, performing a second frequency transformation that is the same as the first frequency transformation on the low-frequency components that were transformed by the color transformation, and combining to generate second frequency components the high-frequency components and the low-frequency components that were transformed by the second frequency transformation.
Additionally in accordance with an embodiment of the present invention, there is provided a computer-readable medium containing instructions for controlling a data processing system to perform a method for producing a document having a link to a link destination via a network. The method comprises dividing first frequency components into low-frequency components and high-frequency components, performing a first inverse frequency transformation on the low-frequency components, performing a color transformation on the low-frequency components that were transformed by the inverse frequency transformation, performing a normal transformation of the inverse frequency transformation on the low-frequency components that were transformed by the color transformation, combining to generate second frequency components the high-frequency components and the low-frequency components that were transformed by the normal transformation and performing a second inverse frequency transformation that is the same as the first frequency transformation.